package com.winhxd.b2c.common.domain.product.model;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
@ApiModel("商品SKU信息")
public class ProductSku implements Serializable {
    private static final long serialVersionUID = 1L;

    private Long id;

    @ApiModelProperty("sku编码")
    private String skuCode;

    @ApiModelProperty("款号")
    private String skuStyleCode;

    @ApiModelProperty("商品ID主键")
    private Long spuId;

    @ApiModelProperty("sku图片")
    private String imageUrl;

    @ApiModelProperty("1单个sku，2组合sku")
    private Byte skuType;

    @ApiModelProperty("条形码")
    private String barcode;

    @ApiModelProperty("产品指导价格")
    private BigDecimal guidePrice;

    @ApiModelProperty("产品短描述")
    private String simpleDesc;

    @ApiModelProperty("状态标记")
    private Integer status;

    @ApiModelProperty("重量：克")
    private Integer weight;

    @ApiModelProperty("库存")
    private Long stock;

    @ApiModelProperty("初始销量")
    private Long initSalesVolume;

    @ApiModelProperty("销量")
    private Long salesVolume;

    @ApiModelProperty("组合唯一索引，skuStyleCode_sizeAttributeOptionId")
    private String ruleCode;

    @ApiModelProperty("颜色属性id")
    private Long colorAttributeId;

    @ApiModelProperty("颜色属性值id")
    private Long colorAttributeOptionId;

    @ApiModelProperty("尺码属性id")
    private Long sizeAttributeId;

    @ApiModelProperty("尺码属性值id")
    private Long sizeAttributeOptionId;

    @ApiModelProperty("颜色值")
    private String colorValue;

    @ApiModelProperty("尺寸值")
    private String sizeValue;

    @ApiModelProperty("spuId集合")
    private List<Long> spuIdList;

    @ApiModelProperty("创建者")
    private String createdBy;

    @ApiModelProperty("创建日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss" )
    private Date createdTime;

    @ApiModelProperty("修改者")
    private String updatedBy;

    @ApiModelProperty("修改日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss" )
    private Date updatedTime;
}
